package request

import (
	"counter-help/admin/server/model/common/request"
	"time"
)

type CusOrderSearch struct {
	StartCreatedAt *time.Time `json:"startCreatedAt" form:"startCreatedAt"`
	EndCreatedAt   *time.Time `json:"endCreatedAt" form:"endCreatedAt"`
	request.PageInfo
}

type CreateCusOrder struct {
	Title         string   `json:"title" form:"title"`                                                           // 订单标题
	UrgencyDegree *int     `json:"urgency_degree" form:"urgency_degree"`                                         // 项目时间
	BussType      string   `json:"buss_type" form:"buss_type"`                                                   // 业务类型
	AnRequire     string   `json:"an_require" form:"an_require"`                                                 // 项目需求详情
	BudgetMin     *float64 `json:"budget_min" form:"budget_min"`                                                 // 最低预算
	BudgetMax     *float64 `json:"budget_max" form:"budget_max"`                                                 // 最高预算
	ItemType      string   `json:"item_type" form:"item_type"`                                                   // 项目类型（项目难度）
	Specialty     string   `json:"specialty" form:"specialty"`                                                   // 专业
	Deadline      string   `json:"deadline" form:"deadline"`                                                     // 截止时间
	Other         string   `json:"other" form:"other"`                                                           // 其他要求
	Background    string   `json:"background" form:"background" gorm:"column:background;comment:研究背景;size:191;"` //研究背景
}

// SearchParams 用于接收查询参数
type SearchParams struct {
	Title         string   `json:"title" form:"title"`
	UrgencyDegree int      `json:"urgency_degree" form:"urgency_degree"`
	BussType      string   `json:"buss_type" form:"buss_type"`
	ItemType      string   `json:"item_type" form:"item_type"`
	BudgetMin     *float64 `json:"budget_min" form:"budget_min"`
	Specialty     string   `json:"specialty" form:"specialty"` // 专业
	BudgetMax     *float64 `json:"budget_max" form:"budget_max"`
	Page          int      `json:"page" form:"page"`
	PageSize      int      `json:"page_size" form:"page_size"`
	SortBy        string   `json:"sort_by" form:"sort_by"` // 价格最高/价格最低/最新发布
	// 添加更多字段根据需要
}

type CusOrderFilterParams struct {
	Status   int    `json:"status" binding:"required"` // 状态
	IsPaid   *bool  `json:"is_paid"`                   // 支付状态，可为空
	SortBy   string `json:"sort_by" form:"sort_by"`
	QueryStr string `json:"queryStr"`
}
